export default class DrawTools{
	constructor(){
		this.drawElementsPageList = []
		this.canvasWidth = 0
		this.canvasHeight = 0
	}
	
	draw(){
		for (var i = 0; i < this.drawElementsPageList.length; i++) {
			var context = uni.createCanvasContext('myCanvas' + i)
			context.save();
			context.setFillStyle("#ffffff")
			context.beginPath()
			context.fillRect(0, 0, this.canvasWidth, this.canvasHeight)
			context.stroke()
			context.restore()
			//context.translate(0.5,0.5)
		
			for (var j = 0; j < this.drawElementsPageList[i].length; j++) {
				let item = this.drawElementsPageList[i][j]
				//设置画笔颜色
				if (item.type == 1) {
					//方格
					context.save();
					context.translate(0.5, 0.5)
					//context.setLineDash([0, 0])
					context.setLineWidth(item.lw)
					context.setStrokeStyle(item.color);
					context.beginPath()
					context.rect(item.x, item.y, item.w, item.h);
					context.stroke()
					context.restore()
		
				}
				if (item.type == 2) {
					context.save();
					context.beginPath()
					//拼音
					context.setFontSize(item.fontSize)
					context.setStrokeStyle(item.color);
					context.fillText(item.text, item.x, item.y, 50);
					context.stroke()
					context.restore()
		
		
				}
				if (item.type == 3) {
					context.save();
					context.beginPath()
					//汉字
					context.setFontSize(item.fontSize)
					context.setFillStyle(item.color);
					context.fillText(item.text, item.x, item.y, 50);
					context.stroke()
					context.restore()
		
		
				}
				if (item.type == 4) {
					//米格线、方格线
					context.save();
					context.translate(0.5, 0.5)
					context.setLineDash([item.lineDashWidth, item.lineDashPadWidth]);
					context.lineDashOffset = -50;
					context.setStrokeStyle(item.color);
					context.setLineWidth(0.5)
					context.beginPath()
					context.moveTo(item.lineX, item.lineY)
					context.lineTo(item.lineToX, item.lineToY)
					context.stroke()
					context.restore()
				}
				if (item.type == 5) { //标题
					context.save();
					context.beginPath()
					//拼音
					context.setFontSize(item.fontSize)
					context.setStrokeStyle(item.color);
					let textWidth = context.measureText(item.text).width;
					if(item.align == 'center'){
						let xPosition = this.canvasWidth / 2 - textWidth / 2
						context.fillText(item.text, xPosition, item.y, textWidth);
					}
					else{
						context.fillText(item.text, item.x, item.y, textWidth);
					}
					
					context.stroke()
					context.restore()
				}
				if (item.type == 6) {
					//直线
					context.save();
					
					context.setStrokeStyle(item.color);
					context.setLineWidth(item.lw)
					context.beginPath()
					context.moveTo(item.lineX, item.lineY)
					context.lineTo(item.lineToX, item.lineToY)
					context.stroke()
					context.restore()
				}
			}
			//执行绘画的动作，如果没有执行stroke函数不会有任何的效果
			context.draw()
		}
	}
}